package org.example.order.vo;

import lombok.Data;
import org.example.order.entity.OrderItemEntity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author 小杰_cc
 * @version 1.0
 */
@Data
public class OrderRespVo {

    /**
     * id
     */
    private Long id;
    /**
     * 订单号
     */
    private String orderSn;

    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 支付超时时间
     */
    private Date outTime;
    /**
     * 用户名
     */
    private String memberUsername;
    /**
     * 订单总额
     */
    private BigDecimal totalAmount;
    /**
     * 应付总额
     */
    private BigDecimal payAmount;
    /**
     * 运费金额
     */
    private BigDecimal freightAmount;
    /**
     * 促销优化金额（促销价、满减、阶梯价）
     */
    private BigDecimal promotionAmount;
    /**
     * 订单状态(0-待付款;1-待发货;2-已发货;3-已完成;4-已关闭;5-无效订单)
     */
    private Integer status;
    /**
     * 物流公司(配送方式)
     */
    private String deliveryCompany;
    /**
     * 物流单号
     */
    private String deliverySn;
    /**
     * 自动确认时间（天）
     */
    private Integer autoConfirmDay;
    /**
     * 收货人姓名
     */
    private String receiverName;
    /**
     * 收货人电话
     */
    private String receiverPhone;
    /**
     * 收货人邮编
     */
    private String receiverPostCode;
    /**
     * 省份/直辖市
     */
    private String receiverProvince;
    /**
     * 城市
     */
    private String receiverCity;
    /**
     * 区
     */
    private String receiverRegion;
    /**
     * 详细地址
     */
    private String receiverDetailAddress;
    /**
     * 订单备注
     */
    private String note;
    /**
     * 确认收货状态(0-未确认;1-已确认)
     */
    private Integer confirmStatus;
    /**
     * 支付时间
     */
    private Date paymentTime;
    /**
     * 发货时间
     */
    private Date deliveryTime;
    /**
     * 确认收货时间
     */
    private Date receiveTime;
    /**
     * 评价时间
     */
    private Date commentTime;
    /**
     * 修改时间
     */
    private Date modifyTime;

    private List<OrderItemEntity> orderItemEntities;
}
